import { chartEncaps } from './chartEncaps.js'

let drawb5 = obj => {
  // obj = {
  //   _t: this,
  //   doms: 'mycharts
  // }
  obj._t.bjTotal = chartEncaps.setTjData({ _t: obj._t })
  let pad = { padding: 'auto', autoFit: false }

  chartEncaps.drawPublic({
    _t: obj._t,
    doms: obj.doms,
    data: pad
  })
  chartEncaps.setDisplay({ doms: obj.doms, display: 'block' })
  chartEncaps.setLegend({ _t: obj._t, data: 'label' })
  let dv = chartEncaps.setPercent({
    _t: obj._t,
    data: chartEncaps.setPercentValue({ _t: obj._t })
  })
  if (dv.length > 0) {
    obj._t.chart.data(dv)
    obj._t.chart.coordinate('polar')
    obj._t.chart.scale('percent', {
      formatter: val => {
        val = val + '%'
        return val
      }
    })
    obj._t.chart.axis(false)
    obj._t.chart.tooltip({
      showTitle: false,
      showMarkers: false,
      itemTpl:
        '<li class="g2-tooltip-list-item"><span style="background-color:{color};" class="g2-tooltip-marker"></span>{name}: {value}</li>'
    })
    // obj._t.chart.interaction('element-highlight')
    // let { offset, offsetX, offsetY } = chartEncaps.setOffset({ _t: obj._t })

    let m = 0
    switch (obj._t.chartsConData.percent) {
      case '1':
        obj._t.chart
          .interval()
          .position('label*percent')
          .label('label', val => {
            m = m + 1
            return {
              offset: obj._t.chartsConData.offset,
              content: obj => {
                return obj['label'] + ':' + obj.percent + '%'
              },
              style: {
                fill: '#555', // 文本的颜色
                stroke: '',
                fontSize: obj._t.chartsConData.textSize // 文本大小
              }
            }
          })
          .color('label', obj._t.color)
          .style({
            lineWidth: 1,
            stroke: '#fff'
          })
        break
      case '0':
        obj._t.chart
          .interval()
          .position('label*value')
          .label('label', {
            offset: obj._t.chartsConData.offset,
            // layout: {
            //     type: obj._t.chartsConData.layout
            // },
            content: obj => {
              return obj['label'] + ':' + obj.value
            },
            style: {
              fill: '#555', // 文本的颜色
              stroke: '',
              fontSize: obj._t.chartsConData.textSize // 文本大小
            }
          })
          .color('label', obj._t.color)
          .style({
            lineWidth: 1,
            stroke: '#fff'
          })
        break
      case '3':
        obj._t.chart
          .interval()
          .position('label*value')
          .label('label', {
            offset: obj._t.chartsConData.offset,
            // layout: {
            //     type: obj._t.chartsConData.layout
            // },
            content: obj => {
              return (
                obj['label'] +
                ':' +
                obj.value +
                '，' +
                obj['percent'].toFixed(obj._t.chartsConData.precision) +
                '%'
              )
            },
            style: {
              fill: '#555', // 文本的颜色
              stroke: '',
              fontSize: obj._t.chartsConData.textSize // 文本大小
            }
          })
          .color('label', obj._t.color)
          .style({
            lineWidth: 1,
            stroke: '#fff'
          })
        break
    }

    obj._t.chart.render()
  }
  obj._t.setLoading(false)
  obj._t.setshadeDisplay(true)
}

export { drawb5 }
